The present invention relates to an apparatus and method for masking errors in video data. More particularly, the present invention is directed to an apparatus and method for detecting direct current errors of a block unit during the decoding of video data and for masking the detected errors.
In general, a large amount of video data is required to be digitally processed in order to generate digital images and show multidimensional characteristics. Therefore, to process this data and then transmit or store the digital images efficiently, compression of the data is required because of the limited capacity of storage mediums and transmission speeds of communications lines.
Standardization with respect to compression of motion image data has been proposed by the Moving Picture Expert Group (MPEG), pursuant to JTC1/SC-29 under the International Organization for Standardization-International Electrotechnical Commission (ISO-IEC). The ISO-IEC is an international organization for the standardization of formats. The International Telecommunications Union-Telecommunications standardization sector (ITU-T) has conducted research relating to the preparation of a video coding standardization based on an ATM protocol in order to transfer images for the future B-ISDN, and has recently recommended several H.26x standardized proposals. Among the H.26x standardized proposals, the H.263 proposal concerns video coding for low bit rate communications which is suitable for devices such as a wireless videophones, etc.
It is inevitable that video data transmitted through a network (wired or wireless) will have network errors. In a wireless network, the bit-error-rate (BER) for defining the error generation probability is high and a burst error is often generated. In order to reduce such a channel induction error, a channel CODEC such as Bose-Chaudhuri-Hocquenghem (BCH) and RCPC have been developed to be combined with the H.263 proposal. However, since the quantity of data can rapidly be increased in such a channel CODEC (for example, the quantity of data increases 1500% when the rate of RCPC is 1/16), the data rate should be appropriately compromised. For this format, error masking can be simply performed in a video decoder, aside from the channel CODEC.
FIG. 1 shows a manner of masking errors in a video decoder, pursuant to the H.263 standard. Reference numerals 110 and 120 represent a group of blocks (GOB) and a macro block (MB), respectively, in a video frame. When errors are generated during decoding of a video bit stream received from a present frame N, the video decoder stops decoding the present GOB and copies a GOB of a previous frame N-1, which is in the same position as that of the present GOB, to the memory of the present frame N.
However, the following problems occur in the above method. First, the structure of the GOB is shown in FIG. 2. In the QCIF format (176.times.144) which is a video format for implementing the H.263 standard, there are nine GOBs in a frame and eleven MBs in a GOB. As for luminance, since one MB (16.times.16) is constructed from four 8.times.8 blocks, a direct current (DC) value is transferred to each 8.times.8 block in a fixed-length of eight bits. In an actual H.263 bit stream, there are many parts variable-length encoded and cases in which errors are not detected due to the characteristics of the Huffman decoder. For example, it is assumed that the DC values of the respective 8.times.8 blocks of the macro block (MB) K shown in FIG. 2 are as shown in FIG. 3A, and that they are corrupted as shown in FIG. 3B. Namely, the values are corrupted from 1000 0001 (129) to 0000 001.times.(2 or 3), from 1000 0010 (130) to 0000 010 (4 or 5), from 0111 1110 (126) to 1111 111.times.(254 or 255), and from 1000 0100 (132) to 0000 100.times.(8 or 9). For example, when the values just prior to performing the decoding are corrupted by one bit due to a shift-left or for any other reason, substantially different DC values (as shown in FIG. 3B) can be generated. This presents a problem.
In addition, in a video decoder, a block of a primary color such as red, green, or blue is generated as shown in FIG. 4A. Errors which result propagate as time passes, depending on the value of a motion vector as shown in FIG. 4B. This severely deteriorates the picture quality since the errors are not detected, even though they are generated as shown in FIG. 3B, and because the DC value has a fixed length.